草庐IT

SQL PRIMARY KEY 约束

全部标签

mysql - 以什么顺序处理 ON DELETE CASCADE 约束?

这是我正在做的一个例子:CREATETABLEParent(idBIGINTNOTNULL,PRIMARYKEY(id))ENGINE=InnoDB;CREATETABLEChild(idBIGINTNOTNULL,parentidBIGINTNOTNULL,PRIMARYKEY(id),KEY(parentid),CONSTRAINTfk_parentFOREIGNKEY(parentid)REFERENCESParent(id)ONDELETECASCADE)ENGINE=InnoDB;CREATETABLEUncle(idBIGINTNOTNULL,parentidBIGINTN

mysql - 以什么顺序处理 ON DELETE CASCADE 约束?

这是我正在做的一个例子:CREATETABLEParent(idBIGINTNOTNULL,PRIMARYKEY(id))ENGINE=InnoDB;CREATETABLEChild(idBIGINTNOTNULL,parentidBIGINTNOTNULL,PRIMARYKEY(id),KEY(parentid),CONSTRAINTfk_parentFOREIGNKEY(parentid)REFERENCESParent(id)ONDELETECASCADE)ENGINE=InnoDB;CREATETABLEUncle(idBIGINTNOTNULL,parentidBIGINTN

php - PostgreSQL:唯一违反:7 错误:重复键值违反唯一约束 "users_pkey"

我在我的Laravel应用程序中使用psql。我正在尝试创建我的用户,但我一直收到此错误Uniqueviolation:7ERROR:duplicatekeyvalueviolatesuniqueconstraint"users_pkey"这是我为存储用户所做的$user=User::where('account_id','=',$id)->first();$user->email=$account->email_address;$user->fb_email='';$user->tw_email='';$user->fb_access_token='';$user->fb_profi

php - PostgreSQL:唯一违反:7 错误:重复键值违反唯一约束 "users_pkey"

我在我的Laravel应用程序中使用psql。我正在尝试创建我的用户,但我一直收到此错误Uniqueviolation:7ERROR:duplicatekeyvalueviolatesuniqueconstraint"users_pkey"这是我为存储用户所做的$user=User::where('account_id','=',$id)->first();$user->email=$account->email_address;$user->fb_email='';$user->tw_email='';$user->fb_access_token='';$user->fb_profi

mysql - 删除所有 MySQL 外键约束不失败的地方

我正在尝试删除一些记录,但出现以下错误:Cannotdeleteorupdateaparentrow:aforeignkeyconstraintfails问题是,我希望删除的100条记录中只有1条或2条外键约束失败。我希望编写一个删除这98-99条记录的查询,跳过失败的1或2,稍后我可以手动检查和删除/修改。不会因为某个单一的有问题的记录而停止,而是继续处理其他记录,忽略它。有没有一种巧妙的方法来做到这一点? 最佳答案 您必须LEFTJOIN引用表并添加一个条件,说明该表中缺少该行。例如:DELETEaFROMaLEFTJOINbO

mysql - 删除所有 MySQL 外键约束不失败的地方

我正在尝试删除一些记录,但出现以下错误:Cannotdeleteorupdateaparentrow:aforeignkeyconstraintfails问题是,我希望删除的100条记录中只有1条或2条外键约束失败。我希望编写一个删除这98-99条记录的查询,跳过失败的1或2,稍后我可以手动检查和删除/修改。不会因为某个单一的有问题的记录而停止,而是继续处理其他记录,忽略它。有没有一种巧妙的方法来做到这一点? 最佳答案 您必须LEFTJOIN引用表并添加一个条件,说明该表中缺少该行。例如:DELETEaFROMaLEFTJOINbO

sql - MySQL 中的 OR 非空约束

在MySQL中创建非NULL约束的最佳方法是什么,这样fieldA和fieldB不能都为NULL。我不在乎其中任何一个本身是否为NULL,只要另一个字段具有非NULL值即可。如果它们都具有非NULL值,那就更好了。 最佳答案 这不是直接回答您的问题,而是一些附加信息。在处理多个列并检查是否全部为空或一个不为空时,我通常使用COALESCE()-如果列表增长,它会简短、易读且易于维护:COALESCE(a,b,c,d)ISNULL--TrueifallareNULLCOALESCE(a,b,c,d)ISNOTNULL--Trueifa

sql - MySQL 中的 OR 非空约束

在MySQL中创建非NULL约束的最佳方法是什么,这样fieldA和fieldB不能都为NULL。我不在乎其中任何一个本身是否为NULL,只要另一个字段具有非NULL值即可。如果它们都具有非NULL值,那就更好了。 最佳答案 这不是直接回答您的问题,而是一些附加信息。在处理多个列并检查是否全部为空或一个不为空时,我通常使用COALESCE()-如果列表增长,它会简短、易读且易于维护:COALESCE(a,b,c,d)ISNULL--TrueifallareNULLCOALESCE(a,b,c,d)ISNOTNULL--Trueifa

php - laravel errno 150 外键约束格式不正确

谁能帮我解决这个问题?有3个表有2个外键:Schema::create('users',function(Blueprint$table){$table->increments('id');$table->string('name');$table->string('email')->unique();$table->string('password');$table->rememberToken();$table->timestamps();});Schema::create('firms',function(Blueprint$table){$table->increments('

php - laravel errno 150 外键约束格式不正确

谁能帮我解决这个问题?有3个表有2个外键:Schema::create('users',function(Blueprint$table){$table->increments('id');$table->string('name');$table->string('email')->unique();$table->string('password');$table->rememberToken();$table->timestamps();});Schema::create('firms',function(Blueprint$table){$table->increments('